using System;
using System.Xml.Serialization;
using System.Collections.Specialized;
using System.Reflection;

namespace AppliedRecognition.Speech.QuickSwitch.serialization
{
	public enum CommandName
	{
		None,
		QuickSwitch,
		ExitQuickSwitch,
		Configure,
		ChooseTask,
		TaskBar,
		ShowDesktop,
		Help,
		Hide,
		ThrowException,
		ResizePreview,
		MovePreview,
		ChooseResize,
		ChooseMove,
	}

	[XmlType("Command")]
	public class SpeechCommandItem 
	{

		private StringCollection options = new StringCollection();
		private ProductSupportLevel productLevel = ProductSupportLevel.All;
		private CommandName name;

		[XmlAttribute()] public CommandName Name 
		{
			get { return this.name; } set { this.name = value;}
		}

		[XmlElement("Option",typeof(string) )]
		public StringCollection Options 
		{
			get { return this.options; } 
		}
		private string shortDesc;
		public string ShortDesc 
		{
			get { return this.shortDesc; } set { this.shortDesc = value;}
		}
		

		private string  longDesc;
		public string  LongDesc 
		{
			get { return this.longDesc; } set { this.longDesc = value;}
		}
		
		private string category;
		[XmlAttribute()] public string Category 
		{
			get { return this.category; } set { this.category = value;}
		}

		[XmlAttribute()] 
		public ProductSupportLevel ProductLevel 
		{
			get { return this.productLevel; } set { this.productLevel = value;}
		}


		public override string ToString() 
		{
			return Name.ToString();
		}
		
	}


}
